{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "IqM-T1RTzY6C"
   },
   "source": [
    "# Unsloth Fine-tuning DeepSeek R1 Distilled Llama 8B\n",
    "\n",
    "finetune `DeepSeek-R1-Distill-Llama-8B` with Unsloth, using a medical dataset."
   ]
  },
  {
   "cell_type": "markdown",
   "source": [
    "## 为什么我们需要对大型语言模型进行微调？\n",
    "微调能够使模型在特定任务上获得更好的性能，使其在实际应用中更加高效和多功能。这一过程对于将现有模型适配到特定任务或领域至关重要。"
   ],
   "metadata": {
    "id": "PqXgNATbyHlU"
   }
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {
    "id": "2eSvM9zX_2d3"
   },
   "outputs": [],
   "source": [
    "%%capture\n",
    "!pip install unsloth\n",
    "# Also get the latest nightly Unsloth!\n",
    "!pip uninstall unsloth -y && pip install --upgrade --no-cache-dir --no-deps git+https://github.com/unslothai/unsloth.git\n",
    "!pip install bitsandbytes unsloth_zoo"
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "!pip freeze >unsloth_requirement.txt"
   ],
   "metadata": {
    "id": "UB3oRSsbVYIr"
   },
   "execution_count": 2,
   "outputs": []
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 316,
     "referenced_widgets": [
      "182e09b4d366487d98915589ff6dee77",
      "719da57ca04d4e63958febdeda6205ae",
      "f415f76da98b4f79a4dcfff2e0e945e6",
      "e7dff970dd8442809459ee000c9f8e7a",
      "58bb03842f1c4c7eb77f7bd0c154d8ae",
      "d97be952e4874e118a1ac95b5f748c27",
      "ea8c23103bed4cff9040356527785a17",
      "e181186f26f84135a2f2716edd5e907f",
      "dcc250c718a2414e9cad0ac0e7549ec2",
      "821f32b148c14e39854dcf0cc1849432",
      "22d1de21474e4e5abaf13a5fe4080c9e",
      "1698edb09a24415e839479010bbc295e",
      "52f06c002cc34308bca7a53cc2fe7ba1",
      "86b1b72547334465a9d135001148c18a",
      "2c2c5d6347b14997b2c98dd4fdae271a",
      "40327190098c4fb6ada7dd17838435ae",
      "9e462264744e4928ae78f491775a529e",
      "e4ef27c61f3a45838067447a3c6a0d0d",
      "e3afdcece71746af8e598993b0bf6239",
      "a555c75992044aff807785646c3cfc4b",
      "20f0486748a6453f942f0de345e4203c",
      "6a8f042d557f4e84b84f2d190bb2cfd3",
      "0ef8293281d24244b6a53fa9bdfcaa91",
      "d61293183f0343eaaef33b6bdc725499",
      "4b8de5ac052c4894972045e1bb6ec32a",
      "2481393836f14c7f82eacb8696c0fd16",
      "40f09bc850c84ca39d5dd9ed6f5f043a",
      "73387cdaf3cb405bba2d529ca98e1a5b",
      "2057066b44b944b08178f39825d9156c",
      "b5756d5a2bb448bf85e589ae0c2c2a05",
      "edaa5b7cba2c4f01bb4da02456148a59",
      "9bdbb457f2f04a1fa55b99522c827be2",
      "c77cdfa15f4d4befb657d1dfaa9484a3",
      "9e91c16f56d348389120fb2c4716ccf8",
      "96b668c84a6c486dab912f622dbe748a",
      "9eac91cd9e3148dbaaae2d5e2b31a882",
      "b46f91d1d49548ec9b10da5b67492c9f",
      "f3a23d2659264ad99d3a3217a5cbc58d",
      "6da09aa850b7487d86a968faaa53cff2",
      "5b6d8919733b4bb180ed4363e1599e43",
      "8b86d3f47bfe4bfe96a010394beac1b4",
      "2fae033f8f4e465a891ef44e4af4a0be",
      "ed0fdd182aa144a7a2c491f09c6001a6",
      "2a37ef3154994e8b8c86d23636baf2a6",
      "fe9548fa01e74fd7b88fa114b446d290",
      "f5ec3d4690e241a8a02218b69747c156",
      "f05a4ac684ce492c8a4d9d923e085593",
      "b15b969f8ba74c05b57f7372b7aa4aa2",
      "926bf5ab03204a148164fe701e04d27b",
      "bf31abadc7a14662a970d7e0fc266ebe",
      "4456e54266684a2493c47859cc75ad6e",
      "9aa994beedd84e7487af96b39feadc4a",
      "4baba36f2c214ee3950e4aa5758a6c94",
      "e9bfcfedf7124f6699e72d2f16f8fa11",
      "bb1ee4ae2433430382d3f1fc4ce26406"
     ]
    },
    "id": "QmUBVEnvCDJv",
    "outputId": "30682183-f8ff-46bc-f1a9-3cd4b8bbf7f7"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "🦥 Unsloth: Will patch your computer to enable 2x faster free finetuning.\n",
      "🦥 Unsloth Zoo will now patch everything to make training faster!\n",
      "==((====))==  Unsloth 2025.3.17: Fast Llama patching. Transformers: 4.48.3.\n",
      "   \\\\   /|    NVIDIA A100-SXM4-40GB. Num GPUs = 1. Max memory: 39.557 GB. Platform: Linux.\n",
      "O^O/ \\_/ \\    Torch: 2.6.0+cu124. CUDA: 8.0. CUDA Toolkit: 12.4. Triton: 3.2.0\n",
      "\\        /    Bfloat16 = TRUE. FA [Xformers = 0.0.29.post3. FA2 = False]\n",
      " \"-____-\"     Free license: http://github.com/unslothai/unsloth\n",
      "Unsloth: Fast downloading is enabled - ignore downloading bars which are red colored!\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "model.safetensors:   0%|          | 0.00/5.96G [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "182e09b4d366487d98915589ff6dee77"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "generation_config.json:   0%|          | 0.00/236 [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "1698edb09a24415e839479010bbc295e"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "tokenizer_config.json:   0%|          | 0.00/53.0k [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "0ef8293281d24244b6a53fa9bdfcaa91"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "tokenizer.json:   0%|          | 0.00/17.2M [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "9e91c16f56d348389120fb2c4716ccf8"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "special_tokens_map.json:   0%|          | 0.00/483 [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "fe9548fa01e74fd7b88fa114b446d290"
      }
     },
     "metadata": {}
    }
   ],
   "source": [
    "from unsloth import FastLanguageModel\n",
    "import torch\n",
    "max_seq_length = 2048 # Choose any! We auto support RoPE Scaling internally!\n",
    "dtype = None # None for auto detection. Float16 for Tesla T4, V100, Bfloat16 for Ampere+\n",
    "load_in_4bit = True # Use 4bit quantization to reduce memory usage. Can be False.\n",
    "\n",
    "model, tokenizer = FastLanguageModel.from_pretrained(\n",
    "    model_name = \"unsloth/DeepSeek-R1-Distill-Llama-8B\",\n",
    "    max_seq_length = max_seq_length,\n",
    "    dtype = dtype,\n",
    "    load_in_4bit = load_in_4bit,\n",
    "    # token = \"hf_...\", # use one if using gated models like meta-llama/Llama-2-7b-hf\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "!du -h --max-depth=1 /root/.cache/huggingface/hub"
   ],
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "Gt-w5IO1Waag",
    "outputId": "f39ffe82-b521-49fc-d931-8423865ddd6b"
   },
   "execution_count": 4,
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "36K\t/root/.cache/huggingface/hub/models--unslothai--repeat\n",
      "36K\t/root/.cache/huggingface/hub/models--unslothai--colabpro\n",
      "24K\t/root/.cache/huggingface/hub/.locks\n",
      "5.6G\t/root/.cache/huggingface/hub/models--unsloth--deepseek-r1-distill-llama-8b-unsloth-bnb-4bit\n",
      "36K\t/root/.cache/huggingface/hub/models--unslothai--vram-40\n",
      "36K\t/root/.cache/huggingface/hub/models--unslothai--1\n",
      "5.6G\t/root/.cache/huggingface/hub\n"
     ]
    }
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "!ls /root/.cache/huggingface/hub/models--unsloth--deepseek-r1-distill-llama-8b-unsloth-bnb-4bit/snapshots/5e0ac06dc3e90b3e84ce2c4b6bd3257974b1bb0a -l"
   ],
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "C5HZiERwf7FT",
    "outputId": "6951c04f-7d13-40c7-cf2d-98efff8d0e05"
   },
   "execution_count": 5,
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "total 4\n",
      "lrwxrwxrwx 1 root root 52 Mar 20 06:09 config.json -> ../../blobs/cb322fcc15de3ea026d96a4bf0af57fca5310978\n",
      "lrwxrwxrwx 1 root root 52 Mar 20 06:09 generation_config.json -> ../../blobs/846e0e5df0c5f053a21f9390ceec3eabc52d06b3\n",
      "lrwxrwxrwx 1 root root 76 Mar 20 06:09 model.safetensors -> ../../blobs/e1a97f145b35eb6ed1844a3cc3a42b381780c3dc0248f796520a516fdc74dfeb\n"
     ]
    }
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "!cat /root/.cache/huggingface/hub/version.txt"
   ],
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "smW7Lpwmfj-d",
    "outputId": "da6bc298-f189-488f-9ad1-496e3058dc63"
   },
   "execution_count": 6,
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "1"
     ]
    }
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "SXd9bTZd1aaL"
   },
   "source": [
    "## Inference before fine-tuning"
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "prompt_style = \"\"\"Below is an instruction that describes a task, paired with an input that provides further context.\n",
    "Write a response that appropriately completes the request.\n",
    "Before answering, think carefully about the question and create a step-by-step chain of thoughts to ensure a logical and accurate response.\n",
    "\n",
    "### Instruction:\n",
    "You are a medical expert with advanced knowledge in clinical reasoning, diagnostics, and treatment planning.\n",
    "Please answer the following medical question.\n",
    "\n",
    "### Question:\n",
    "{}\n",
    "\n",
    "### Response:\n",
    "<think>{}\"\"\""
   ],
   "metadata": {
    "id": "lvKN1w6sfW0O"
   },
   "execution_count": 7,
   "outputs": []
  },
  {
   "cell_type": "code",
   "source": [
    "question = \"一个患有急性阑尾炎的病人已经发病5天，腹痛稍有减轻但仍然发热，在体检时发现右下腹有压痛的包块，此时应如何处理？\"\n",
    "\n",
    "\n",
    "FastLanguageModel.for_inference(model) #必须切换到推理模式\n",
    "inputs = tokenizer([prompt_style.format(question, \"\")], return_tensors=\"pt\").to(\"cuda\")\n",
    "\n",
    "outputs = model.generate(\n",
    "    input_ids=inputs.input_ids,\n",
    "    attention_mask=inputs.attention_mask,\n",
    "    max_new_tokens=1200,\n",
    "    use_cache=True,\n",
    ")\n",
    "response = tokenizer.batch_decode(outputs)#这一步是没有微调前进行一个推理\n",
    "print(response[0].split(\"### Response:\")[1])"
   ],
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "2AV54NuTfNv_",
    "outputId": "640b2930-8b64-4ee7-8331-39ff40d4dd71"
   },
   "execution_count": 8,
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "\n",
      "<think>\n",
      "好的，我现在需要处理一个关于急性阑尾炎的病例。患者已经发病5天，腹痛稍有减轻，但仍然发热。在体检时，医生发现了右下腹有压痛的包块。那么，我应该如何处理呢？\n",
      "\n",
      "首先，急性阑尾炎的常见症状包括急性腹痛、发热、恶心、呕吐等。包块的出现可能提示appendicitis的炎症性变化，即相位性appendicitis。这种情况下，通常需要及时处理，避免延误。\n",
      "\n",
      "接下来，考虑到患者已经有5天的病史，且包块存在，可能需要进行影像学检查。超声检查可以帮助确定包块的位置和特征，如是否有液体积聚，是否有增大的腺体或结石。\n",
      "\n",
      "如果超声检查显示包块在右下腹，可能需要进行穿刺检查。穿刺可以帮助确定包块内容物，如是否有脓液、血液或其他物质，这有助于诊断。\n",
      "\n",
      "此外，血常规和血培养也是必要的，以评估感染情况，如白细胞计数和血培养结果是否异常。\n",
      "\n",
      "治疗方面，如果诊断为急性阑尾炎，通常会选择抗生素治疗，结合抗炎药物，如氨溴索，控制炎症。对于包块，可能需要引流或外科干预，以防止感染扩散。\n",
      "\n",
      "在这种情况下，及时的影像学检查和穿刺是关键，以明确诊断并制定治疗方案。同时，注意观察患者的症状，如是否有发热、腹痛加重等，必要时进行进一步处理。\n",
      "</think>\n",
      "\n",
      "针对急性阑尾炎患者，发现右下腹有压痛的包块，建议采取以下步骤：\n",
      "\n",
      "1. **影像学检查**：进行腹部超声检查以确定包块的位置和特征，评估是否存在液体积聚或腺体增大。\n",
      "\n",
      "2. **穿刺检查**：若超声检查显示包块，应进行穿刺确定内容物，评估是否有脓液或其他异常情况。\n",
      "\n",
      "3. **血常规和血培养**：进行血常规（如白细胞计数）和血培养，评估感染情况。\n",
      "\n",
      "4. **抗生素治疗**：根据诊断结果，选择适当抗生素治疗，并结合抗炎药物。\n",
      "\n",
      "5. **引流或外科干预**：如果包块需要引流或外科处理，以防止感染扩散。\n",
      "\n",
      "6. **监测病情**：密切观察病情变化，如有症状加重，及时处理。\n",
      "\n",
      "通过以上步骤，可以准确诊断并及时处理患者的急性阑尾炎情况。<｜end▁of▁sentence｜>\n"
     ]
    }
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "vITh0KVJ10qX"
   },
   "source": [
    "## Prepare Dataset\n",
    "\n",
    "A medical dataset [https://huggingface.co/datasets/FreedomIntelligence/medical-o1-reasoning-SFT/](https://huggingface.co/datasets/FreedomIntelligence/medical-o1-reasoning-SFT/) will be used to train the selected model."
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "train_prompt_style = \"\"\"Below is an instruction that describes a task, paired with an input that provides further context.\n",
    "Write a response that appropriately completes the request.\n",
    "Before answering, think carefully about the question and create a step-by-step chain of thoughts to ensure a logical and accurate response.\n",
    "\n",
    "### Instruction:\n",
    "You are a medical expert with advanced knowledge in clinical reasoning, diagnostics, and treatment planning.\n",
    "Please answer the following medical question.\n",
    "\n",
    "### Question:\n",
    "{}\n",
    "\n",
    "### Response:\n",
    "<think>\n",
    "{}\n",
    "</think>\n",
    "{}\"\"\""
   ],
   "metadata": {
    "id": "4dcpgiM9d21z"
   },
   "execution_count": 9,
   "outputs": []
  },
  {
   "cell_type": "code",
   "source": [
    "EOS_TOKEN = tokenizer.eos_token  # Must add EOS_TOKEN\n",
    "\n",
    "\n",
    "def formatting_prompts_func(examples):\n",
    "    inputs = examples[\"Question\"]\n",
    "    cots = examples[\"Complex_CoT\"]\n",
    "    outputs = examples[\"Response\"]\n",
    "    texts = []\n",
    "    for input, cot, output in zip(inputs, cots, outputs):\n",
    "        text = train_prompt_style.format(input, cot, output) + EOS_TOKEN\n",
    "        texts.append(text)\n",
    "    return {\n",
    "        \"text\": texts,\n",
    "    }"
   ],
   "metadata": {
    "id": "WasZ83hyd5F8"
   },
   "execution_count": 10,
   "outputs": []
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 130,
     "referenced_widgets": [
      "0d8b79d28b8e4e2782ccc27e9e511aa0",
      "06e8e0bcacf643bd8cd914ee3b8dc982",
      "513cc5d9f20148fd8c09c02522b5f40c",
      "2a14e9af00734dffa3f29f84c09c6174",
      "ea153784d6524a8c8c15e3d66b6a6a70",
      "f5940041d754422e99b5f9980d026995",
      "62fc93831dca4fd6ba1d44656d126621",
      "59ea584369da45c5b040aeeb2bc4d491",
      "c2c294d649064b52a9158d1205aa7143",
      "79d742376a624e7ea4b3bfb09fbd1949",
      "72c1e3cc0a724a42ba27f116708d655d",
      "43068c9cfd98432894f78033f49b36be",
      "191c5e63f3d34ce0b87e8e9240f8b0c7",
      "2dfab349092b459084bbe1a520902caf",
      "2a5cc098bf094d1f84f5eced228ba263",
      "c929f3ec16764786a59d9da0cc5d1933",
      "c335384e8803485c9e6e07aced5fe985",
      "11c80be34ff741ec8df054430fac127e",
      "c6439b84d733428aa9032e3129714c3a",
      "7043520e40054f8ba79fae730a42a23c",
      "2317cb56967f46c4ac12cee48d50e188",
      "e2a4ef8d150046ceb78b3a96f4fa687c",
      "fed63549a70d4503bd729b13365ad119",
      "ae2d2c8fb4c343598a73a14fe7889969",
      "2706f650070148d3bf39196d8e9ba55a",
      "958c1dabf3d0483fa28de5be0c33f9ff",
      "2b548473ff8e49e99e90a21eb624cd04",
      "ddf8570f3b9c4fb0ad1b1526d7604acf",
      "9b6c6970923545068444c8ec69bc4056",
      "f6cdd427d64a4fbeb3643eee594ea2bd",
      "86d114284aca43e59f68e8cb37b54400",
      "04946080e69847a1ab6215cf3805079d",
      "64256ad9b1e44b528f66ae0034b93f74"
     ]
    },
    "id": "HvOPfPnet76H",
    "outputId": "600a1fd0-1d20-4552-aab5-f34ab48f477b"
   },
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "README.md:   0%|          | 0.00/1.65k [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "0d8b79d28b8e4e2782ccc27e9e511aa0"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "medical_o1_sft_Chinese.json:   0%|          | 0.00/64.8M [00:00<?, ?B/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "43068c9cfd98432894f78033f49b36be"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "Generating train split:   0%|          | 0/24772 [00:00<?, ? examples/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "fed63549a70d4503bd729b13365ad119"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "['Question', 'Complex_CoT', 'Response']\n"
     ]
    }
   ],
   "source": [
    "from datasets import load_dataset\n",
    "dataset = load_dataset(\"FreedomIntelligence/medical-o1-reasoning-SFT\", 'zh', split = \"train[:30%]\", trust_remote_code=True)\n",
    "print(dataset.column_names)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "xg4_dG-m0Cz4"
   },
   "source": [
    "For `Ollama` and `llama.cpp` to function like a custom `ChatGPT` Chatbot, we must only have 2 columns - an `instruction` and an `output` column. We need to transform the dataset into proper structure."
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "dataset = dataset.map(formatting_prompts_func, batched = True)\n",
    "dataset[\"text\"][0]"
   ],
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 293,
     "referenced_widgets": [
      "e6f2609391434f4bb503a477bcae08e1",
      "559c3459e7b840b88263af644052578e",
      "06721830a2624d0ebbe2bce9c2525fbe",
      "e8464d7224c9446d943c8c4c655dcaf5",
      "dffdc1cfa71f4677b41f23d9f772c9b9",
      "64ca8bfa3f3640d9bc55b4f7f331bc25",
      "b49cf65c07ce472e9a3c8cff1dff699e",
      "20645685413e463ab932571139be1ce5",
      "d395d8b58d0d4aa2b44d1e5519562e6c",
      "b15178e0a2ed41d6a6eee7bf2f3f9bff",
      "c5a162e03d504561932f14946a60c0ab"
     ]
    },
    "id": "F33v7dB0d8js",
    "outputId": "b76e816d-b893-4fd6-edec-0be3354b4459"
   },
   "execution_count": 12,
   "outputs": [
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "Map:   0%|          | 0/7432 [00:00<?, ? examples/s]"
      ],
      "application/vnd.jupyter.widget-view+json": {
       "version_major": 2,
       "version_minor": 0,
       "model_id": "e6f2609391434f4bb503a477bcae08e1"
      }
     },
     "metadata": {}
    },
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "'Below is an instruction that describes a task, paired with an input that provides further context.\\nWrite a response that appropriately completes the request.\\nBefore answering, think carefully about the question and create a step-by-step chain of thoughts to ensure a logical and accurate response.\\n\\n### Instruction:\\nYou are a medical expert with advanced knowledge in clinical reasoning, diagnostics, and treatment planning.\\nPlease answer the following medical question.\\n\\n### Question:\\n根据描述，一个1岁的孩子在夏季头皮出现多处小结节，长期不愈合，且现在疮大如梅，溃破流脓，口不收敛，头皮下有空洞，患处皮肤增厚。这种病症在中医中诊断为什么病？\\n\\n### Response:\\n<think>\\n这个小孩子在夏天头皮上长了些小结节，一直都没好，后来变成了脓包，流了好多脓。想想夏天那么热，可能和湿热有关。才一岁的小孩，免疫力本来就不强，夏天的湿热没准就侵袭了身体。\\n\\n用中医的角度来看，出现小结节、再加上长期不愈合，这些症状让我想到了头疮。小孩子最容易得这些皮肤病，主要因为湿热在体表郁结。\\n\\n但再看看，头皮下还有空洞，这可能不止是简单的头疮。看起来病情挺严重的，也许是脓肿没治好。这样的情况中医中有时候叫做禿疮或者湿疮，也可能是另一种情况。\\n\\n等一下，头皮上的空洞和皮肤增厚更像是疾病已经深入到头皮下，这是不是说明有可能是流注或瘰疬？这些名字常描述头部或颈部的严重感染，特别是有化脓不愈合，又形成通道或空洞的情况。\\n\\n仔细想想，我怎么感觉这些症状更贴近瘰疬的表现？尤其考虑到孩子的年纪和夏天发生的季节性因素，湿热可能是主因，但可能也有火毒或者痰湿造成的滞留。\\n\\n回到基本的症状描述上看，这种长期不愈合又复杂的状况，如果结合中医更偏重的病名，是不是有可能是涉及更深层次的感染？\\n\\n再考虑一下，这应该不是单纯的瘰疬，得仔细分析头皮增厚并出现空洞这样的严重症状。中医里头，这样的表现可能更符合‘蚀疮’或‘头疽’。这些病名通常描述头部严重感染后的溃烂和组织坏死。\\n\\n看看季节和孩子的体质，夏天又湿又热，外邪很容易侵入头部，对孩子这么弱的免疫系统简直就是挑战。头疽这个病名听起来真是切合，因为它描述的感染严重，溃烂到出现空洞。\\n\\n不过，仔细琢磨后发现，还有个病名似乎更为合适，叫做‘蝼蛄疖’，这病在中医里专指像这种严重感染并伴有深部空洞的情况。它也涵盖了化脓和皮肤增厚这些症状。\\n\\n哦，该不会是夏季湿热，导致湿毒入侵，孩子的体质不能御，其病情发展成这样的感染？综合分析后我觉得‘蝼蛄疖’这个病名真是相当符合。\\n</think>\\n从中医的角度来看，你所描述的症状符合“蝼蛄疖”的病症。这种病症通常发生在头皮，表现为多处结节，溃破流脓，形成空洞，患处皮肤增厚且长期不愈合。湿热较重的夏季更容易导致这种病症的发展，特别是在免疫力较弱的儿童身上。建议结合中医的清热解毒、祛湿消肿的治疗方法进行处理，并配合专业的医疗建议进行详细诊断和治疗。<｜end▁of▁sentence｜>'"
      ],
      "application/vnd.google.colaboratory.intrinsic+json": {
       "type": "string"
      }
     },
     "metadata": {},
     "execution_count": 12
    }
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "idAEIeSQ3xdS"
   },
   "source": [
    "## Train the model\n",
    "use Huggingface TRL's `SFTTrainer`."
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "FastLanguageModel.for_training(model)"
   ],
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "id": "nk6NBXw48W7e",
    "outputId": "82467664-7e51-4c7a-86fa-a54960733bb9"
   },
   "execution_count": 13,
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "LlamaForCausalLM(\n",
       "  (model): LlamaModel(\n",
       "    (embed_tokens): Embedding(128256, 4096, padding_idx=128004)\n",
       "    (layers): ModuleList(\n",
       "      (0): LlamaDecoderLayer(\n",
       "        (self_attn): LlamaAttention(\n",
       "          (q_proj): Linear4bit(in_features=4096, out_features=4096, bias=False)\n",
       "          (k_proj): Linear4bit(in_features=4096, out_features=1024, bias=False)\n",
       "          (v_proj): Linear4bit(in_features=4096, out_features=1024, bias=False)\n",
       "          (o_proj): Linear4bit(in_features=4096, out_features=4096, bias=False)\n",
       "          (rotary_emb): LlamaRotaryEmbedding()\n",
       "        )\n",
       "        (mlp): LlamaMLP(\n",
       "          (gate_proj): Linear4bit(in_features=4096, out_features=14336, bias=False)\n",
       "          (up_proj): Linear4bit(in_features=4096, out_features=14336, bias=False)\n",
       "          (down_proj): Linear4bit(in_features=14336, out_features=4096, bias=False)\n",
       "          (act_fn): SiLU()\n",
       "        )\n",
       "        (input_layernorm): LlamaRMSNorm((4096,), eps=1e-05)\n",
       "        (post_attention_layernorm): LlamaRMSNorm((4096,), eps=1e-05)\n",
       "      )\n",
       "      (1): LlamaDecoderLayer(\n",
       "        (self_attn): LlamaAttention(\n",
       "          (q_proj): Linear4bit(in_features=4096, out_features=4096, bias=False)\n",
       "          (k_proj): Linear4bit(in_features=4096, out_features=1024, bias=False)\n",
       "          (v_proj): Linear4bit(in_features=4096, out_features=1024, bias=False)\n",
       "          (o_proj): Linear4bit(in_features=4096, out_features=4096, bias=False)\n",
       "          (rotary_emb): LlamaRotaryEmbedding()\n",
       "        )\n",
       "        (mlp): LlamaMLP(\n",
       "          (gate_proj): Linear(in_features=4096, out_features=14336, bias=False)\n",
       "          (up_proj): Linear(in_features=4096, out_features=14336, bias=False)\n",
       "          (down_proj): Linear(in_features=14336, out_features=4096, bias=False)\n",
       "          (act_fn): SiLU()\n",
       "        )\n",
       "        (input_layernorm): LlamaRMSNorm((4096,), eps=1e-05)\n",
       "        (post_attention_layernorm): LlamaRMSNorm((4096,), eps=1e-05)\n",
       "      )\n",
       "      (2-31): 30 x LlamaDecoderLayer(\n",
       "        (self_attn): LlamaAttention(\n",
       "          (q_proj): Linear4bit(in_features=4096, out_features=4096, bias=False)\n",
       "          (k_proj): Linear4bit(in_features=4096, out_features=1024, bias=False)\n",
       "          (v_proj): Linear4bit(in_features=4096, out_features=1024, bias=False)\n",
       "          (o_proj): Linear4bit(in_features=4096, out_features=4096, bias=False)\n",
       "          (rotary_emb): LlamaRotaryEmbedding()\n",
       "        )\n",
       "        (mlp): LlamaMLP(\n",
       "          (gate_proj): Linear4bit(in_features=4096, out_features=14336, bias=False)\n",
       "          (up_proj): Linear4bit(in_features=4096, out_features=14336, bias=False)\n",
       "          (down_proj): Linear4bit(in_features=14336, out_features=4096, bias=False)\n",
       "          (act_fn): SiLU()\n",
       "        )\n",
       "        (input_layernorm): LlamaRMSNorm((4096,), eps=1e-05)\n",
       "        (post_attention_layernorm): LlamaRMSNorm((4096,), eps=1e-05)\n",
       "      )\n",
       "    )\n",
       "    (norm): LlamaRMSNorm((4096,), eps=1e-05)\n",
       "    (rotary_emb): LlamaRotaryEmbedding()\n",
       "  )\n",
       "  (lm_head): Linear(in_features=4096, out_features=128256, bias=False)\n",
       ")"
      ]
     },
     "metadata": {},
     "execution_count": 13
    }
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "model = FastLanguageModel.get_peft_model(\n",
    "    model,\n",
    "    r = 16, # Choose any number > 0 ! Suggested 8, 16, 32, 64, 128\n",
    "    target_modules = [\"q_proj\", \"k_proj\", \"v_proj\", \"o_proj\",\n",
    "                      \"gate_proj\", \"up_proj\", \"down_proj\",],\n",
    "    lora_alpha = 16,\n",
    "    lora_dropout = 0, # Supports any, but = 0 is optimized\n",
    "    bias = \"none\",    # Supports any, but = \"none\" is optimized\n",
    "    # [NEW] \"unsloth\" uses 30% less VRAM, fits 2x larger batch sizes!\n",
    "    use_gradient_checkpointing = \"unsloth\", # True or \"unsloth\" for very long context\n",
    "    random_state = 233,\n",
    "    use_rslora = True,  # We support rank stabilized LoRA\n",
    "    loftq_config = None, # And LoftQ\n",
    ")"
   ],
   "metadata": {
    "id": "WjQ3ButQrLJm",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "f9dbcf18-b015-4670-eabc-8d4d3ba52f76"
   },
   "execution_count": 15,
   "outputs": [
    {
     "output_type": "stream",
     "name": "stderr",
     "text": [
      "Unsloth 2025.3.17 patched 32 layers with 32 QKV layers, 32 O layers and 32 MLP layers.\n"
     ]
    }
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "id": "95_Nn-89DhsL"
   },
   "outputs": [],
   "source": [
    "from trl import SFTTrainer\n",
    "from transformers import TrainingArguments\n",
    "from unsloth import is_bfloat16_supported\n",
    "trainer = SFTTrainer(\n",
    "    model = model,\n",
    "    tokenizer = tokenizer,\n",
    "    train_dataset = dataset,\n",
    "    dataset_text_field = \"text\",\n",
    "    max_seq_length = max_seq_length,\n",
    "    dataset_num_proc = 2,\n",
    "    packing = False, # Can make training 5x faster for short sequences.\n",
    "    args = TrainingArguments(\n",
    "        per_device_train_batch_size = 2,\n",
    "        gradient_accumulation_steps = 4,\n",
    "        warmup_steps = 5,\n",
    "        max_steps = 1000,\n",
    "        # num_train_epochs = 1, # For longer training runs!\n",
    "        learning_rate = 2e-4,\n",
    "        fp16 = not is_bfloat16_supported(),\n",
    "        bf16 = is_bfloat16_supported(),\n",
    "        logging_steps = 10,\n",
    "        optim = \"adamw_8bit\",\n",
    "        weight_decay = 0.01,\n",
    "        lr_scheduler_type = \"linear\",\n",
    "        seed = 3407,\n",
    "        output_dir = \"outputs\",\n",
    "        report_to = \"none\", # Use this for WandB etc，none是不用任何报告插件\n",
    "    ),\n",
    ")"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 1000
    },
    "id": "yqxqAZ7KJ4oL",
    "outputId": "960b6ea6-514b-46c5-b01f-a9d4d2b35a35"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stderr",
     "text": [
      "==((====))==  Unsloth - 2x faster free finetuning | Num GPUs used = 1\n",
      "   \\\\   /|    Num examples = 7,432 | Num Epochs = 2 | Total steps = 1,000\n",
      "O^O/ \\_/ \\    Batch size per device = 2 | Gradient accumulation steps = 4\n",
      "\\        /    Data Parallel GPUs = 1 | Total batch size (2 x 4 x 1) = 8\n",
      " \"-____-\"     Trainable parameters = 41,943,040/8,000,000,000 (0.52% trained)\n"
     ]
    },
    {
     "output_type": "display_data",
     "data": {
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ],
      "text/html": [
       "\n",
       "    <div>\n",
       "      \n",
       "      <progress value='1000' max='1000' style='width:300px; height:20px; vertical-align: middle;'></progress>\n",
       "      [1000/1000 41:29, Epoch 1/2]\n",
       "    </div>\n",
       "    <table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       " <tr style=\"text-align: left;\">\n",
       "      <th>Step</th>\n",
       "      <th>Training Loss</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <td>10</td>\n",
       "      <td>1.114800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>20</td>\n",
       "      <td>1.379900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>30</td>\n",
       "      <td>1.526700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>40</td>\n",
       "      <td>1.482400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>50</td>\n",
       "      <td>1.470200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>60</td>\n",
       "      <td>1.421600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>70</td>\n",
       "      <td>1.442200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>80</td>\n",
       "      <td>1.453300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>90</td>\n",
       "      <td>1.445200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>100</td>\n",
       "      <td>1.461900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>110</td>\n",
       "      <td>1.453000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>120</td>\n",
       "      <td>1.437600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>130</td>\n",
       "      <td>1.382700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>140</td>\n",
       "      <td>1.382200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>150</td>\n",
       "      <td>1.323600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>160</td>\n",
       "      <td>1.459700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>170</td>\n",
       "      <td>1.420400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>180</td>\n",
       "      <td>1.416000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>190</td>\n",
       "      <td>1.398400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>200</td>\n",
       "      <td>1.402100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>210</td>\n",
       "      <td>1.399400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>220</td>\n",
       "      <td>1.383000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>230</td>\n",
       "      <td>1.412900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>240</td>\n",
       "      <td>1.397400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>250</td>\n",
       "      <td>1.411300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>260</td>\n",
       "      <td>1.374500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>270</td>\n",
       "      <td>1.397500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>280</td>\n",
       "      <td>1.375600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>290</td>\n",
       "      <td>1.365500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>300</td>\n",
       "      <td>1.459200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>310</td>\n",
       "      <td>1.400800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>320</td>\n",
       "      <td>1.344700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>330</td>\n",
       "      <td>1.365200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>340</td>\n",
       "      <td>1.380700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>350</td>\n",
       "      <td>1.359200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>360</td>\n",
       "      <td>1.389100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>370</td>\n",
       "      <td>1.395700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>380</td>\n",
       "      <td>1.398400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>390</td>\n",
       "      <td>1.399000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>400</td>\n",
       "      <td>1.348600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>410</td>\n",
       "      <td>1.372900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>420</td>\n",
       "      <td>1.325200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>430</td>\n",
       "      <td>1.389400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>440</td>\n",
       "      <td>1.370500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>450</td>\n",
       "      <td>1.419800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>460</td>\n",
       "      <td>1.350100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>470</td>\n",
       "      <td>1.438100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>480</td>\n",
       "      <td>1.310200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>490</td>\n",
       "      <td>1.407600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>500</td>\n",
       "      <td>1.355600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>510</td>\n",
       "      <td>1.427300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>520</td>\n",
       "      <td>1.355300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>530</td>\n",
       "      <td>1.351500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>540</td>\n",
       "      <td>1.376300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>550</td>\n",
       "      <td>1.404100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>560</td>\n",
       "      <td>1.357900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>570</td>\n",
       "      <td>1.380900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>580</td>\n",
       "      <td>1.307400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>590</td>\n",
       "      <td>1.330200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>600</td>\n",
       "      <td>1.307600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>610</td>\n",
       "      <td>1.348500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>620</td>\n",
       "      <td>1.411500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>630</td>\n",
       "      <td>1.333200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>640</td>\n",
       "      <td>1.354500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>650</td>\n",
       "      <td>1.358800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>660</td>\n",
       "      <td>1.331700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>670</td>\n",
       "      <td>1.353100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>680</td>\n",
       "      <td>1.356500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>690</td>\n",
       "      <td>1.299600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>700</td>\n",
       "      <td>1.382000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>710</td>\n",
       "      <td>1.368600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>720</td>\n",
       "      <td>1.392100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>730</td>\n",
       "      <td>1.356400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>740</td>\n",
       "      <td>1.336900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>750</td>\n",
       "      <td>1.293200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>760</td>\n",
       "      <td>1.317900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>770</td>\n",
       "      <td>1.356500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>780</td>\n",
       "      <td>1.344700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>790</td>\n",
       "      <td>1.285300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>800</td>\n",
       "      <td>1.364000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>810</td>\n",
       "      <td>1.350200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>820</td>\n",
       "      <td>1.379200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>830</td>\n",
       "      <td>1.331300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>840</td>\n",
       "      <td>1.362600</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>850</td>\n",
       "      <td>1.377300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>860</td>\n",
       "      <td>1.364500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>870</td>\n",
       "      <td>1.350200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>880</td>\n",
       "      <td>1.328100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>890</td>\n",
       "      <td>1.363400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>900</td>\n",
       "      <td>1.358200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>910</td>\n",
       "      <td>1.307200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>920</td>\n",
       "      <td>1.353700</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>930</td>\n",
       "      <td>1.334000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>940</td>\n",
       "      <td>1.209000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>950</td>\n",
       "      <td>1.225500</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>960</td>\n",
       "      <td>1.183900</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>970</td>\n",
       "      <td>1.211100</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>980</td>\n",
       "      <td>1.216800</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>990</td>\n",
       "      <td>1.211300</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <td>1000</td>\n",
       "      <td>1.238900</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table><p>"
      ]
     },
     "metadata": {}
    }
   ],
   "source": [
    "trainer_stats = trainer.train()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "id": "ekOmTR1hSNcr"
   },
   "source": [
    "## Inference after fine-tuning\n",
    "\n",
    "Let's inference with same question again and see the difference."
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "print(question)"
   ],
   "metadata": {
    "id": "05jKLSaYvCaZ",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "8ebf5230-dbe7-483f-a2c9-4471eb87ab6b"
   },
   "execution_count": 22,
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "一个患有急性阑尾炎的病人已经发病5天，腹痛稍有减轻但仍然发热，在体检时发现右下腹有压痛的包块，此时应如何处理？\n"
     ]
    }
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {
    "id": "kR3gIAX-SM2q",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "7972ef48-4932-40f7-ab2f-6360df842eb0"
   },
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "\n",
      "<think>\n",
      "这个病人已经发烧5天了，腹痛虽然有所减轻，但还是在发烧，听起来情况不太乐观。再加上在体检时发现右下腹有压痛的包块，这让我立刻想到阑尾炎的可能性。嗯，阑尾炎是急性的，会导致炎症和脓肿形成。\n",
      "\n",
      "虽然现在腹痛减轻了一点，但发烧依然存在，说明炎症可能还在活动。压痛的包块也可能是脓肿，这就更需要重视了。通常，阑尾炎在发病初期，炎症会发展成脓肿，发烧和腹痛是常见症状。\n",
      "\n",
      "想想看，病人已经发烧5天了，应该不算早期，脓肿的风险很高。这时候，处理措施不能拖延，得赶紧采取行动。通常，应该考虑做一个阑尾切除手术。\n",
      "\n",
      "不过，手术的决定不能仅仅基于症状，还得有影像学检查的支持。CT或者MRI能提供更详细的信息，尤其是在判断脓肿是否存在和大小方面，这些信息很重要。\n",
      "\n",
      "等等，病人有发烧和压痛，这些都是脓肿的典型表现。这样看来，虽然病人腹痛减轻了一点，但不应该掉以轻心，还是要认真评估，不能漏掉脓肿的可能。\n",
      "\n",
      "所以，还是需要做进一步的检查，比如影像学检查，确认一下是否有脓肿。这样才能准确判断下一步该怎么做。嗯，这样看来，确实需要更多的信息来做出明智的决策。\n",
      "</think>\n",
      "根据病人的症状和体检结果，需要高度警惕脓肿的可能性。患者已经发烧5天，腹痛虽然有所减轻，但仍然存在，并且在体检中发现右下腹有压痛的包块，这些都是阑尾炎导致脓肿形成的典型表现。\n",
      "\n",
      "在这种情况下，虽然病人腹痛有所缓解，但由于持续的发热和压痛的包块，仍需高度重视。通常情况下，阑尾炎会在发病初期发展成脓肿，需要及时处理以防止感染扩散。\n",
      "\n",
      "首先，建议进行进一步的影像学检查，如CT或MRI，以明确是否存在脓肿以及其大小。如果影像学检查确认存在脓肿，通常需要进行阑尾切除手术以彻底处理感染。\n",
      "\n",
      "同时，在等待影像学检查结果的同时，应密切观察病人的症状变化，并根据医生的建议采取抗生素治疗以控制感染。\n",
      "\n",
      "总之，尽管腹痛有所减轻，病人的症状仍提示可能存在脓肿，需要尽快进行影像学检查以明确诊断和制定下一步的治疗计划。<｜end▁of▁sentence｜>\n"
     ]
    }
   ],
   "source": [
    "FastLanguageModel.for_inference(model)  # Unsloth has 2x faster inference!\n",
    "inputs = tokenizer([prompt_style.format(question, \"\")], return_tensors=\"pt\").to(\"cuda\")\n",
    "\n",
    "outputs = model.generate(\n",
    "    input_ids=inputs.input_ids,\n",
    "    attention_mask=inputs.attention_mask,\n",
    "    max_new_tokens=1200,\n",
    "    use_cache=True,\n",
    ")\n",
    "response = tokenizer.batch_decode(outputs)\n",
    "print(response[0].split(\"### Response:\")[1])"
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "#为了加快测试速度，所以在最后40个样本做测试\n",
    "test_dataset = load_dataset(\"FreedomIntelligence/medical-o1-reasoning-SFT\", 'zh', split = \"train[-40:]\", trust_remote_code=True)\n",
    "test_questions = test_dataset[\"Question\"]\n",
    "test_references = test_dataset[\"Response\"]  # 参考答案\n",
    "test_questions[0]"
   ],
   "metadata": {
    "id": "_b1AZrYBe_f0",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 35
    },
    "outputId": "a8e2c090-6b92-4201-aeb5-9acc0eacd651"
   },
   "execution_count": 24,
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "'一位50岁男性患者被诊断为结肠癌，症状包括腹胀、腹泻、腰膝酸软、不思饮食、四肢无力、失眠倦怠、尿少，舌象淡、脉细无力。根据中医理论，应首选哪种方剂进行治疗？'"
      ],
      "application/vnd.google.colaboratory.intrinsic+json": {
       "type": "string"
      }
     },
     "metadata": {},
     "execution_count": 24
    }
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "\n",
    "# 生成模型的预测结果\n",
    "model_predictions = []\n",
    "for question in test_questions:\n",
    "    inputs = tokenizer([prompt_style.format(question, \"\")], return_tensors=\"pt\").to(\"cuda\")\n",
    "    outputs = model.generate(\n",
    "        input_ids=inputs.input_ids,\n",
    "        attention_mask=inputs.attention_mask,\n",
    "        max_new_tokens=1200,\n",
    "        use_cache=True,\n",
    "    )\n",
    "    response = tokenizer.batch_decode(outputs)[0].split(\"### Response:\")[1]\n",
    "    response = response.split(\"</think>\")[1].strip()\n",
    "    response = response.replace(\"<｜end▁of▁sentence｜>\", \"\").strip()\n",
    "    print('-'*50+'Question'+\"-\"*50)\n",
    "    print(question)\n",
    "    print('-'*50+'Answer'+'-'*50)\n",
    "    print(response)\n",
    "    model_predictions.append(response)\n"
   ],
   "metadata": {
    "id": "y810TLFYL2lO",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "462f461a-d101-428e-8f10-94380108158f"
   },
   "execution_count": 29,
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "--------------------------------------------------Question--------------------------------------------------\n",
      "一位50岁男性患者被诊断为结肠癌，症状包括腹胀、腹泻、腰膝酸软、不思饮食、四肢无力、失眠倦怠、尿少，舌象淡、脉细无力。根据中医理论，应首选哪种方剂进行治疗？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据患者的症状表现，包括腹胀、腹泻、腰膝酸软、不思饮食、四肢无力、失眠倦怠、尿少等，结合舌象淡、脉细无力，中医诊断为脾虚无津。这种情况下，首选的方剂是四君子汤。\n",
      "\n",
      "四君子汤具有补中益气、健脾养胃的作用，能够有效缓解由于脾虚导致的各种症状，如腹胀、腹泻、失眠等。虽然四君子汤不能直接治愈结肠癌，但它能够帮助患者改善生活质量，增强身体的整体抵抗力。同时，结合患者的具体情况，可能需要在四君子汤的基础上进行加减，以更好地针对患者的具体症状进行调理。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "一位40岁的女性在3月份出现饥饿时上腹部疼痛，进食后缓解，并有时反酸。在体格检查中发现剑突下偏右压痛。根据这些症状和检查结果，可能诊断的疾病是什么？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据所提供的症状和检查结果，这位40岁女性的症状包括：饥饿时上腹部疼痛、进食后疼痛缓解、反酸，以及体格检查中发现的剑突下偏右压痛。这些症状结合季节因素，提示可能的诊断。\n",
      "\n",
      "首先，反酸和饥饿时疼痛提示可能与胃酸分泌过多或胃部疾病有关。这种情况常见于消化性溃疡，特别是十二指肠溃疡，因为它与胆汁反流有关。在3月份，这是十二指肠溃疡的高发季节，这与她的症状相符。\n",
      "\n",
      "然而，体格检查中发现剑突下偏右的压痛通常提示胆囊问题，例如胆囊炎或胆囊结石。虽然胆囊问题也可能导致类似的症状，但结合她的反酸和饥饿时疼痛，十二指肠溃疡的可能性更高。\n",
      "\n",
      "此外，虽然胃溃疡也是一个考虑因素，尤其是在3月份出现症状，但胃溃疡通常不伴有剑突下偏右的压痛。\n",
      "\n",
      "综合考虑，结合她的反酸、饥饿时疼痛以及3月份的季节特点，十二指肠溃疡是最可能的诊断。然而，建议她尽快就医，进行进一步的胃镜检查以明确诊断并获得适当的治疗。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "患者全麻鼻内镜术后2h.双鼻腔纱条填塞,主诉疼痛,右鼻腔少量血性分泌物此时立即给予病人处理的方法是\n",
      "A. 通知医生\n",
      "B. 补液\n",
      "C. 局部冰袋冷敷\n",
      "D. 防止感染\n",
      "E. 嘱卧床休息\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据患者的症状和术后情况，目前最合适的处理方法是使用局部冰袋进行冷敷。冷敷可以有效缓解疼痛，并且有助于减少炎症反应。因此，选择C. 局部冰袋冷敷是最合适的处理方式。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "足月儿。出生1分钟Apgar评分3分，5分钟评5分，生后6h出现惊厥，用苯巴比妥钠后惊厥不能控制，再用苯妥英钠治疗，1周时证实该患儿有缺氧缺血性脑病，其病变最可能在哪个部位\n",
      "A. 大脑半球\n",
      "B. 小脑\n",
      "C. 延髓\n",
      "D. 丘脑\n",
      "E. 桥脑\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据描述，该患儿出现了缺氧缺血性脑病（Perinatal Asphyxial Encephalopathy）及惊厥。缺氧缺血性脑病常见于新生儿，尤其是在出生时存在呼吸道问题的情况下。这种病症通常影响到大脑的多个区域，包括大脑半球、桥脑、延髓和小脑等。\n",
      "\n",
      "在这种情况下，虽然大脑半球是负责语言、运动和记忆的重要区域，桥脑则负责身体的平衡和协调运动，因此如果桥脑受损，可能导致无法正常站立或行走等症状。综合考虑，桥脑受损是更可能的解释，因为它也可能引起类似的神经系统症状。因此，结合所有信息，最可能的受损部位是桥脑。\n",
      "\n",
      "答案是：E. 桥脑。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "It is 4/19/1969 today. What is the date 10 days ago in MM/DD/YYYY?\n",
      "Options:\n",
      "(A) 03/19/1969\n",
      "(B) 04/08/1969\n",
      "(C) 03/24/1969\n",
      "(D) 04/04/1969\n",
      "(E) 04/10/1969\n",
      "(F) 04/09/1969\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "The date 10 days ago from 4/19/1969 is 4/9/1969. Therefore, the correct option is (F) 04/09/1969.\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "在中医的病因学中，针对一个36岁男性患者出现腰酸膝软、眩晕耳鸣、精神萎靡、记忆力下降及性机能减退的症状，最常见的病因是什么？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "在中医的病因学中，这位36岁男性患者的症状：腰酸膝软、眩晕耳鸣、精神萎靡、记忆力下降及性机能减退，最常见的病因是肾虚。肾虚会导致精气两虚，影响全身各个系统，进而出现上述症状。因此，综合分析这些症状，最可能的病因是肾虚。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "一名27岁的女性发现甲状腺结节3个月，最近一个月出现Horner综合征，并且喉镜检查发现右侧声带麻痹。基于这些症状，最可能的诊断是什么？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据提供的信息，这名27岁女性患者出现了甲状腺结节，并且伴随着Horner综合征和右侧声带麻痹。Horner综合征与上呼吸道问题有关，而甲状腺肿瘤，特别是甲状腺髓样癌，常常会引起这些症状。甲状腺髓样癌可以压迫喉返神经，导致右侧眼睑下垂和眼球向外斜，同时也可能影响声带，导致麻痹。因此，结合这些临床表现，最可能的诊断是甲状腺髓样癌。建议进一步的检查和治疗，以确诊并制定适当的管理方案。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "李女士，住院期间对探视的家人抱怨说，在病房里无报纸、无人谈话，感觉特别寂寞和孤独。引起李女士抱怨的压力源可能是\n",
      "A. 环境陌生\n",
      "B. 疾病威胁\n",
      "C. 不被重视\n",
      "D. 丧失自尊\n",
      "E. 缺少信息\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据李女士的描述，她对探视的家人提到病房里没有报纸，也没有人谈话，感到寂寞和孤独。这些因素主要与信息和交流的缺乏有关。病房中缺乏报纸意味着她无法接收外界的新闻和信息，这可能让她感到与外界隔绝。同时，病房里没有人谈话可能让她感到被疏远和忽视。因此，这些情绪的产生更可能是由于缺乏信息和交流，而不是环境陌生、疾病威胁、丧失自尊或不被重视。综上所述，李女士的压力源最可能是缺乏信息。\n",
      "\n",
      "答案是：E. 缺少信息。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "肾移植术后36小时，患者出现少尿、血肌酐持续升高，并伴有高热和寒战，应首先考虑什么病情？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "在肾移植术后36小时，患者出现少尿、血肌酐持续升高，并伴有高热和寒战，这些症状提示可能存在术后感染。术后感染，尤其是在肾移植术后，风险较高，可能导致急性肾损伤。因此，结合症状和时间点，最可能的病情是术后感染引起的急性肾损伤。建议及时进行详细的感染评估和治疗，以防止进一步的并发症。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "女，32岁，G1P0，孕32周。定期产前检查：体重三次未增加，宫高28cm，双顶径77mm，羊水深50mm。血压140/90mmHg。蛋白尿（＋/-）。其诊断应该是下列何项\n",
      "A. 羊水过少\n",
      "B. 轻度妊高征\n",
      "C. IUGR（胎儿宫内发育迟缓）\n",
      "D. 轻度妊高征+IUGR\n",
      "E. 慢性高血压\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据提供的信息，这位32岁的女性在孕32周时出现了体重未增加、宫高低于预期、双顶径和羊水深度都偏低的情况。这些指标提示胎儿宫内发育可能存在问题，即IUGR（胎儿宫内发育迟缓）。\n",
      "\n",
      "尽管她的血压在正常范围内（140/90mmHg），但在怀孕期间，慢性高血压仍然需要关注。然而，蛋白尿（＋/-）提示肾脏目前没有明显问题。\n",
      "\n",
      "综合这些信息，最合适的诊断是轻度妊高征+IUGR。因此，答案是：\n",
      "\n",
      "D. 轻度妊高征+IUGR\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "一名42岁男性患者，患有结肠炎5年，每日腹泻7到10次，出现严重乏力和明显低钾血症。实验室检查显示血钠为140mmol/L，血钾为2.3mmol/L。为纠正低钾血症，所需的补钾量是多少mmol？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据患者的症状和实验室结果，考虑到他有长期的结肠炎以及严重的低钾血症（血钾2.3mmol/L），需要迅速纠正电解质失衡。一般来说，补钾的速度和量需要根据患者的具体情况来决定。\n",
      "\n",
      "通常情况下，补钾的速度可以逐步增加，但要确保安全性。对于严重低钾血症，尤其是在患者有胃肠道疾病的情况下，补钾的量和速度需要谨慎控制。\n",
      "\n",
      "在这个案例中，考虑到患者的严重低钾血症和长期的胃肠道问题，一个合理的补钾计划可能是每天补充30mmol的钾，持续2天。这样可以帮助快速纠正低钾血症，同时避免由于钾摄入过多而引发的心脏问题。\n",
      "\n",
      "因此，所需补钾的总量大约为2天×30mmol=60mmol。这种补钾方案可以帮助患者改善电解质失衡，并减少潜在的并发症风险。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "患者神志昏迷，身体灼热，肢厥，舌蹇，舌质绛。其临床意义是\n",
      "A. 痰扰心神\n",
      "B. 胆火扰心\n",
      "C. 邪陷心包\n",
      "D. 肝肾阴虚\n",
      "E. 湿蒙心包\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "患者表现出的症状，如神志昏迷、身体灼热、肢厥、舌红绛等，强烈提示心火上扰的可能性较大。这些症状与心火旺盛的表现相符，而胆火扰心通常会伴有其他典型症状如腹痛或黄疸。综合考虑这些因素，选项B“胆火扰心”最符合当前症状表现。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "Based on the cost breakdown for producing one widget, what can be concluded about the nature of the production process?\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "Based on the cost breakdown provided, it can be concluded that the production process exhibits characteristics of economies of scale. This is evident from the fact that the cost per widget decreases as the number of widgets produced increases. The presence of fixed costs, such as labor at $10 per widget, materials at $15, and overhead costs at $20, means these costs do not change with the number of widgets produced. As the number of widgets increases, these fixed costs are distributed over more units, leading to a lower cost per widget. This indicates that the process is scalable and efficient, with cost advantages when producing larger quantities.\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "某女，45岁，发现右侧乳房外上象限皮肤有一直径约5cm的发红区，硬而粗糙不平，呈橘皮样改变，经检查确诊为乳腺癌。行乳腺癌根治术后，出现“翼状肩”畸形。请问是由于哪块肌瘫痪所致\n",
      "A. 胸大肌\n",
      "B. 背阔肌\n",
      "C. 胸小肌\n",
      "D. 前锯肌\n",
      "E. 斜方肌\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据患者的病情描述和术后出现的“翼状肩”畸形，最符合的解释是斜方肌的损伤。斜方肌是胸壁的外侧肌肉，损伤后会导致胸壁的外侧部分向外突出，从而形成“翼状肩”畸形。因此，答案是E. 斜方肌。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "一位42岁的女性肝硬化患者入院时发生了昏迷，血钾浓度低至2.4mmol/L。在这种情况下，为了纠正低钾血症，你应该选择哪种药物进行治疗？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "在这种情况下，为了迅速纠正低钾血症，静脉补钾是最合适的选择。通常会使用氯化钾静脉注射来快速补充体内的钾浓度。这是因为肝硬化患者常常因肝功能不全而出现低钾血症，而静脉补钾能够迅速纠正这种电解质失衡，帮助患者恢复正常的生理功能。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "在缺失齿区舌侧牙槽骨为斜坡形的情况下，为了防止食物嵌塞，如何设计上卡环是最佳选择？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "在设计上卡环以防止舌侧斜坡形牙槽骨导致的食物嵌塞时，需要综合考虑多个因素。首先，使用多点卡环是一个有效的策略，因为它可以在多个点上固定，增强卡环的稳定性，从而减少滑动的可能性。其次，卡环的宽度也很重要，通常建议保持在1mm到2mm之间。宽度过小会导致卡环容易滑动，而过宽可能会影响咬合的稳定性。最后，设计卡环时，舌侧的角度应该较大，以更好地抓住斜坡形的牙槽骨，减少食物嵌塞的风险。综合这些因素，设计上卡环时，多点卡环、适当的宽度以及较大的舌侧角度是最佳选择。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "患者表现为狂病日久，其势较减，呼之能自止，但有疲惫之象，多言善惊，时而烦躁，形瘦面红而秽，舌红少苔，脉细数。这种情况下，应如何辨证？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据患者的症状表现，可以考虑辨证为痰热扰心证。患者表现出狂病、多言善惊、时而烦躁等精神症状，同时形瘦面红秽、舌红少苔、脉细数等体征，符合痰热扰心的特征。这些症状表明患者的病情正在向痰热内扰的方向发展。因此，建议采取清热化痰、宁心安神的治疗方法，以缓解患者的症状。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "一名45岁的女性患者，咳嗽已有十余日，最近三天出现喘促、痰涎壅盛、潮热和便秘，舌苔黄腻，脉相为右寸实大。根据这些症状，应该采用哪种中药方剂进行治疗？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据患者的症状表现，咳嗽、喘促、痰涎壅盛、潮热、便秘，以及舌苔黄腻、脉象为右寸实大，这些都指向体内湿热较重，尤其是肺部和肠道都有湿热影响。\n",
      "\n",
      "在这种情况下，茵陈蒿汤是一个常用的方剂，特别适用于肺胃湿热导致的痰浊。不过，由于患者还有便秘，这提示肠道湿热也需考虑。因此，单用茵陈蒿汤可能不足以全面处理患者的症状。\n",
      "\n",
      "考虑到患者整体的湿热情况，建议使用一种能既化痰祛湿又利湿通便的方剂。例如，茵陈蒿汤加一些利湿通便的成分，或者采用具有清肝火、利湿热作用的方剂如龙胆泻肝汤，同时结合适当的通便药物，可能会更为全面。\n",
      "\n",
      "总之，结合患者的具体情况，选择适当的方剂组合来处理肺部湿热痰浊和肠道湿热是关键。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "一名17岁男性自述鼻涕中带血三个月，伴有耳堵和听力减退，无发热。根据鼻咽部的症状和体征，这种情况下最可能的诊断是什么？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据描述的症状和体征，这名17岁男性最可能的诊断是鼻腔发育不良。鼻涕中带血、耳朵堵塞和听力减退都是鼻腔发育不良的典型表现。由于患者在青春期，鼻腔和中耳的发育都可能出现异常，从而引起这些症状。虽然鼻窦炎也可能导致耳朵堵塞和听力减退，但患者没有发热的症状，且鼻涕中带血更倾向于鼻腔发育不良。因此，建议进一步进行鼻腔检查以确认诊断，并考虑可能的治疗措施。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "一位36岁的女性，右下腹出现一个逐渐增大的肿物，现在已经达到妊娠接近足月的大小，但她仍可以做一些轻微的家务。根据这种肿物逐渐增大的特点，最可能是哪种类型的卵巢肿瘤？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据描述，这位36岁的女性右下腹的肿物逐渐增大，接近妊娠足月的大小，但她仍能进行轻微的家务活动。这种情况下，最可能的诊断是妊娠卵巢增生。\n",
      "\n",
      "妊娠卵巢增生是指在怀孕期间，由于激素变化导致的卵巢增大，这种增大通常是缓慢的。然而，由于她的肿物已经相当大，接近妊娠足月的大小，说明卵巢增生可能已经发展到较大的程度。这种情况下，肿物的逐渐增大和肿瘤性质的良性特征相符。\n",
      "\n",
      "需要注意的是，尽管妊娠卵巢增生通常是良性的，但仍需密切监测，以排除其他可能的病变，如畸形上皮瘤或其他良性或恶性肿瘤的可能。建议进一步进行超声检查和其他必要的影像学评估，以明确诊断并排除其他可能性。同时，密切随访孕期的健康状况也是非常重要的。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "男性，54岁，间断上腹不适疼痛4年，餐后加重，暖气。胃液分析BAO为0，MAO为5mmol/L，胃pH4.5。最可能是\n",
      "A. 慢性肥厚性胃炎\n",
      "B. 慢性萎缩性胃窦炎\n",
      "C. 慢性浅表性胃窦炎\n",
      "D. 十二指肠溃疡\n",
      "E. 十二指肠球后溃疡\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据患者的症状和实验室检查结果，最可能的诊断是慢性浅表性胃炎。患者的胃液分析显示胃酸分泌正常，胃酸浓度高，且MAO和BAO均在正常范围，这与慢性浅表性胃炎的特征一致。因此，答案是C. 慢性浅表性胃窦炎。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "\"Here comes a perfectly valid argument: To begin with, being an ex-supporter of Vitória SC is necessary for being an opponent to SønderjyskE. Moreover, whoever is neither a backer of PAOK FC nor an ex-supporter of Lyngby BK is a backer of Everton FC or an opponent to SønderjyskE.finally, every backer of Everton FC is an ex-supporter of Vitória SC. In consequence, whoever is not an ex-supporter of Vitória SC is however a backer of PAOK FC or an ex-supporter of Lyngby BK.\"\n",
      "Is the argument, given the explicitly stated premises, deductively valid or invalid?\n",
      "Options:\n",
      "- valid \n",
      "- invalid\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "The argument is deductively valid.\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "Calculate the number of miles Kim and Eric each rode per week, and determine how many more miles per week Eric rode compared to Kim.\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "Kim and Eric each rode a certain number of miles per week. Kim rode 15 miles each day, and over 7 days, that totals to 105 miles per week. Eric rode 20 miles each day, resulting in 140 miles per week. The difference in the number of miles they rode per week is 35 miles. Eric rode 35 more miles than Kim in a week.\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "根据王某的症状表现，包括心悸而痛、喜按、自汗出、脉微缓、苔白滑，临床辨证应属于什么证？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据王某的症状表现，心悸而痛、喜按、自汗出、脉微缓、苔白滑，这些症状符合中医心阴虚的证型。心阴虚常导致心神不宁，出现心悸、喜按、自汗等症状，同时脉象微缓，舌苔白滑也是心阴虚的典型表现。因此，王某的临床辨证应属于心阴虚证。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "提示：人工破膜，前羊水60ml，色清，胎心监护有早期减速，于下午5时病人向下屏气，胎心148次／分，阴道检查：宫口开大9cm，S<sub>+3</sub>胎儿矢状缝在右斜径上，小囟在7～8点位处。其胎方位诊断，下述哪项正确\n",
      "A. 右枕前位\n",
      "B. 右枕后位\n",
      "C. 左枕前位\n",
      "D. 左枕后位\n",
      "E. 左枕横位\n",
      "F. 右枕横位\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据题目提供的信息，结合胎心监护、阴道检查结果以及胎方位的描述，可以判断胎儿的胎方位是右枕后位。因此，正确答案是：\n",
      "\n",
      "B. 右枕后位\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "在研究移民流行病学时，如果发现移民中的某病的发病率及死亡率接近于其原居住地人群，而与移民地当地居民不同，这种差异的主要原因是什么？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "在研究移民流行病学时，如果发现移民中的某病的发病率及死亡率接近于其原居住地人群，而与移民地当地居民不同，这种差异的主要原因可能包括以下几个方面：\n",
      "\n",
      "1. **文化和社会习惯**：移民者可能带来的健康习惯和生活方式，例如饮食习惯、健康意识和卫生习惯，可能会影响他们在新环境中的健康状况。这些因素可能导致他们在移民地和原地的健康指标有所不同。\n",
      "\n",
      "2. **健康政策和医疗资源**：移民者可能在原来的国家有更好的医疗资源和更完善的健康政策，因此在移民地可能会因这些资源的缺乏而面临不同的健康风险。\n",
      "\n",
      "3. **心理压力和经济压力**：迁徙本身是一种压力，可能会带来心理压力，影响健康。同时，迁徙可能导致经济压力，这也可能影响健康。\n",
      "\n",
      "4. **环境因素**：移民者可能会面对新的气候、环境和污染等，这些都可能影响他们的健康状况。\n",
      "\n",
      "5. **迁徙时间和距离**：长途迁徙可能让移民者承受更大的压力，增加健康风险。相反，如果迁徙时间短，移民者可能更快适应新环境。\n",
      "\n",
      "6. **个人和集体的健康行为**：移民者可能会有更强的健康意识，或者有更好的健康习惯，这可能影响他们在新环境中的健康表现。\n",
      "\n",
      "综上所述，移民者在新环境中的健康状况可能因为多种因素的综合作用而不同于原住地和当地居民。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "根据《中华人民共和国药品管理法》，如果医疗机构的负责人或相关人员接受药品生产企业或其代理人给予的财物或其他利益，应由哪个部门进行处罚？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据《中华人民共和国药品管理法》，医疗机构的负责人或相关人员如果接受了药品生产企业或其代理人给予的财物或其他利益，通常会受到处罚。具体的处罚措施和由哪个部门进行处罚，需要结合具体的法律条款和相关法规来确定。\n",
      "\n",
      "《药品管理法》规定，对于违反药品管理规定的行为，药品监督管理部门是主要的执法和处罚机构。药品监督管理部门负责监督和管理药品生产、销售以及使用等环节，包括对违规行为的查处和处罚。\n",
      "\n",
      "此外，纪检部门（国家监察委员会）也可能会介入，对于涉及廉洁败坏的行为进行监督和处理。因此，在具体案件中，可能需要药品监督管理部门和纪检部门共同参与，以确保处罚的严肃性和公正性。\n",
      "\n",
      "总之，药品监督管理部门是主要负责处罚的部门，但具体的处罚措施和程序可能还会涉及其他部门的协助和监督。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "某清砂工接触噪声15年，近两年出现听力减退、耳鸣和耳痛等症状，听力检查显示其4000Hz听力下降32dB，双耳平均听阈显示听力下降40dB，请诊断该患者的听力损伤程度。\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据您的描述，该清砂工已经接触噪声15年，并且听力检查结果显示他的4000Hz听力下降了32dB，双耳平均听阈下降了40dB。这种情况下，听力损伤的程度可以通过听力下降的程度来判断。\n",
      "\n",
      "听力损伤的分级通常是根据听力下降的程度来分类的：轻度损伤是1-30dB，中度损伤是31-60dB，重度损伤是61-90dB。根据您的检查结果，4000Hz的听力下降32dB已经接近中度损伤的下限，而双耳平均听阈的下降则达到了40dB，明显超过中度损伤的下限。\n",
      "\n",
      "因此，根据听力检查的结果，该患者的听力损伤可以被诊断为中度听力损伤。这种情况下，建议患者进一步进行听力保健和必要的治疗，以防止听力损伤进一步恶化。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "Two electrons A and B are moving at speeds of 0.90c and 0.80c, respectively. Calculate their relative speed when they are moving in the same direction and their relative speed when they are moving in opposite directions.\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "When two electrons are moving in the same direction, their relative speed is calculated by adding their speeds. In this case, electron A is moving at 0.90 times the speed of light (c), and electron B is moving at 0.80 times the speed of light (c). Adding these gives a relative speed of 1.70c. \n",
      "\n",
      "When the electrons are moving in opposite directions, their relative speed is found by subtracting their speeds. This results in a relative speed of 0.10c. \n",
      "\n",
      "Thus, the relative speed when the electrons are moving in the same direction is 1.70c, and when moving in opposite directions, it is 0.10c.\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "一个5岁男孩有1个月的高度水肿，血压120/75mmHg，尿蛋白（+++），24小时尿蛋白定量2500mg，BUN 5.4mmol/L。他突然出现肉眼血尿和腰痛，你认为最可能的诊断是什么？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据提供的信息，这名5岁男孩的症状和体征高度提示肾结核的可能性。以下是分析过程：\n",
      "\n",
      "1. **高度水肿和大量尿蛋白**：这两个症状提示肾小球可能存在损伤，常见于肾病综合征和肾小球肾炎。肾结核也可以导致类似的表现。\n",
      "\n",
      "2. **血压升高**：虽然血压120/75mmHg略高，但不算特别高，这与肾结核的常见表现一致。\n",
      "\n",
      "3. **突然出现的肉眼血尿和腰痛**：这两个症状尤其引起注意。血尿常见于肾结核，因为肾结核可导致肾小球的损伤和肾周围的炎症。腰痛则可能是由于肾周围炎症引起的。\n",
      "\n",
      "4. **BUN水平偏低**：虽然BUN水平低，但在肾结核中并不罕见，因为肾功能受损时尿素氮排泄减少。\n",
      "\n",
      "综合考虑以上信息，肾结核是一个非常合理的诊断。肾结核不仅会导致肾小球损伤，引发蛋白尿和水肿，还可能引起肾周围炎症，进而导致血尿和腰痛。对于儿童，特别是有长期水肿和尿蛋白的病例，肾结核的诊断需要高度怀疑。建议进行进一步的实验室检查和影像学检查，如尿液检查、肾穿刺活检等，以明确诊断。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "伊藤-林斯蒂尔纳（Ito-Reenstierna）反应是用于诊断哪种病症的检查方法？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "伊藤-林斯蒂尔纳（Ito-Reenstierna）反应主要用于诊断肝硬化的肝脏纤维化程度。该反应通过检测肝脏中的糖原来评估肝脏在代谢葡萄糖方面的健康状况，因此是判断肝硬化的重要指标之一。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "If a sample has a standard deviation of zero, what can be concluded about the relationship between the sample mean and sample median?\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "If a sample has a standard deviation of zero, it means that all the values in the sample are exactly the same as the mean. Consequently, the median, which is the middle value when the data is ordered, must also be equal to the mean. Therefore, in such a case, the mean and median are identical, establishing a direct relationship between them.\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "对于患有局部疮形平塌，根盘散漫，疮面紫滞，不易化脓，腐肉难脱，溃出的脓水少或带血水，伴有剧烈疼痛及高热，舌红苔黄，脉细数的患者，应该首选哪种方剂进行治疗？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "对于这种情况下的患者，首选的方剂应该是龙胆泻肝汤。龙胆泻肝汤具有清热解毒、活血化瘀的作用，能够有效应对患者的高热、剧烈疼痛以及疮面的紫滞和脓不易化等症状。因此，龙胆泻肝汤是针对这种复杂病症的较为合适的选择。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "请根据以下症状和体征，确定该患者最可能的诊断：25岁男性，低热、咳嗽超过1个月，痰中带血1周，体检发现双侧颈后可触及多个活动的淋巴结，右上肺支气管肺泡音，胸片显示右上肺云雾状阴影。\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据提供的症状和体征，这位25岁男性患者最可能的诊断是肺结核。低热、咳嗽、痰中带血、活动性淋巴结及胸片上的云雾状阴影等特征都高度提示结核的可能性。这些症状和体征与肺结核的典型表现相符，尤其是在慢性感染背景下。因此，建议进行进一步的结核菌素试验、胸部CT扫描以及痰液检查以确认诊断，并及时开始抗结核治疗。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "某男，77岁。突发昏迷，两侧瞳孔呈针尖样大小，呼气和呕吐物有特异的蒜臭味。应首先考虑的是\n",
      "A. 急性毒蕈中毒\n",
      "B. 亚硝酸盐中毒\n",
      "C. 一氧化碳中毒\n",
      "D. 急性安眠药中毒\n",
      "E. 急性有机磷农药中毒\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据提供的症状和表现，这位77岁的老先生突发昏迷，两侧瞳孔呈针尖样大小，并且呼气和呕吐物有特异的蒜臭味，这些都是急性有机磷农药中毒的典型表现。急性有机磷中毒会引起神经肌肉阻滞，导致瞳孔缩小和呼吸道症状。此外，急性有机磷中毒常伴有特异的气味。因此，结合这些信息，最有可能的诊断是急性有机磷农药中毒。\n",
      "\n",
      "答案是：E. 急性有机磷农药中毒。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "Given a matrix A with dimensions 2 × 7 and a matrix B with dimensions 7 × 5, what are the dimensions of the resulting matrix when you multiply matrix A by matrix B?\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "When you multiply matrix A (2 × 7) by matrix B (7 × 5), the resulting matrix will have dimensions 2 × 5. This is because the number of columns in the first matrix (7) matches the number of rows in the second matrix (7), allowing the multiplication to proceed. The resulting matrix will have the number of rows from the first matrix (2) and the number of columns from the second matrix (5).\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "患者，女，50岁。15年前因甲亢行甲状腺次全切除术。近1个月来又感心悸，出汗、消痩，心电图检查提示房颤，心率120次/分，FT₃升高，T₄升高。应首先考虑的治疗措施是\n",
      "A. 第二次手术\n",
      "B. 放射性治疗\n",
      "C. 服抗甲状腺药与甲状腺素片\n",
      "D. 服碘溶液\n",
      "E. 甲状腺素片\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "根据患者的情况，她已经接受过一次甲状腺次全切除术，因此剩余的甲状腺组织较少。对于甲亢复发，常规的治疗方法是使用抗甲状腺药物和甲状腺素片。因此，在这种情况下，C选项“服抗甲状腺药与甲状腺素片”是最合适的治疗措施。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "Here is a table where the first line is a header and each subsequent line is a penguin:  name, age, height (cm), weight (kg) Louis, 7, 50, 11 Bernard, 5, 80, 13 Vincent, 9, 60, 11 Gwen, 8, 70, 15  For example: the age of Louis is 7, the weight of Gwen is 15 kg, the height of Bernard is 80 cm.  What is the name of the 0.6 m tall penguin?\n",
      "Options:\n",
      "(A) Louis\n",
      "(B) Bernard\n",
      "(C) Vincent\n",
      "(D) Gwen\n",
      "(E) James\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "The name of the 0.6 m tall penguin is Vincent.\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "在发生医疗事故或事件且临床诊断不能明确死亡原因的情况下，患者死亡后应该在多长时间内进行尸检？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "在发生医疗事故或事件且临床诊断不能明确死亡原因的情况下，通常建议尽早进行尸检以确保结果的准确性。一般建议尸检在死亡后12小时内进行。然而，具体时间可能会根据病理情况和技术条件进行调整。在某些情况下，可能需要在死亡后24小时内进行尸检，以便获取更多的信息。因此，建议在死亡后尽早进行尸检，但具体的时间点应根据实际情况和专业建议来决定。\n",
      "--------------------------------------------------Question--------------------------------------------------\n",
      "一名70岁的男性患者因胸痛伴呕吐16小时就医，心电图显示下壁导联和右胸导联ST段抬高0.1~0.3mV，经补液后血压降至80/60mmHg，患者出现呼吸困难和不能平卧的症状，体检发现双肺有大量水泡音。在这种情况下，最恰当的药物处理是什么？\n",
      "--------------------------------------------------Answer--------------------------------------------------\n",
      "在这种情况下，患者的临床表现和心电图结果指向急性心肌梗死伴急性心衰。由于他出现了严重的肺水肿，呼吸困难和不能平卧，这提示需要立即采取措施来减轻体液负担和改善心脏功能。\n",
      "\n",
      "在急性期，利尿剂呋塞米（如呋塞米）通常是首选药物，因为它能够迅速减轻肺水肿，缓解呼吸困难。利尿剂能够通过减少体液的渗透压和排出体内多余的水分，帮助降低心脏的负担。\n",
      "\n",
      "尽管在后续治疗中可以考虑使用硝普钠等药物来增强心肌收缩力，但在急性期，优先使用利尿剂是合理的选择，以迅速改善患者的症状。同时，继续监测患者的心功能，并根据需要调整治疗方案，以确保患者的稳定和康复。\n"
     ]
    }
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "model_predictions[1]"
   ],
   "metadata": {
    "id": "4DSsUsIVYd4s",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 104
    },
    "outputId": "6982dd8a-a284-4c7b-87f6-d01b59f5ee5f"
   },
   "execution_count": 30,
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "'根据所提供的症状和检查结果，这位40岁女性的症状包括：饥饿时上腹部疼痛、进食后疼痛缓解、反酸，以及体格检查中发现的剑突下偏右压痛。这些症状结合季节因素，提示可能的诊断。\\n\\n首先，反酸和饥饿时疼痛提示可能与胃酸分泌过多或胃部疾病有关。这种情况常见于消化性溃疡，特别是十二指肠溃疡，因为它与胆汁反流有关。在3月份，这是十二指肠溃疡的高发季节，这与她的症状相符。\\n\\n然而，体格检查中发现剑突下偏右的压痛通常提示胆囊问题，例如胆囊炎或胆囊结石。虽然胆囊问题也可能导致类似的症状，但结合她的反酸和饥饿时疼痛，十二指肠溃疡的可能性更高。\\n\\n此外，虽然胃溃疡也是一个考虑因素，尤其是在3月份出现症状，但胃溃疡通常不伴有剑突下偏右的压痛。\\n\\n综合考虑，结合她的反酸、饥饿时疼痛以及3月份的季节特点，十二指肠溃疡是最可能的诊断。然而，建议她尽快就医，进行进一步的胃镜检查以明确诊断并获得适当的治疗。'"
      ],
      "application/vnd.google.colaboratory.intrinsic+json": {
       "type": "string"
      }
     },
     "metadata": {},
     "execution_count": 30
    }
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "len(model_predictions)"
   ],
   "metadata": {
    "id": "i6UHlR1IdHaa",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "e9858141-0f23-418b-c324-b501140ceaa4"
   },
   "execution_count": 31,
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "40"
      ]
     },
     "metadata": {},
     "execution_count": 31
    }
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "test_references[1]"
   ],
   "metadata": {
    "id": "w40PRSDddOoJ",
    "colab": {
     "base_uri": "https://localhost:8080/",
     "height": 104
    },
    "outputId": "c82e59b8-25fd-4c6b-f97c-860c9f85c46c"
   },
   "execution_count": 32,
   "outputs": [
    {
     "output_type": "execute_result",
     "data": {
      "text/plain": [
       "'根据您提供的症状和体格检查结果，这位女士可能患有十二指肠溃疡。以下是导致这一判断的几个关键点：\\n\\n1. **症状特征**：患者报告的上腹部疼痛在饥饿时出现，而进食后缓解。这种“饥饿痛”是十二指肠溃疡的典型表现，因为十二指肠溃疡常常因为胃酸在空腹时直接刺激溃疡部位而导致疼痛，而进食可以中和胃酸，暂时缓解疼痛。\\n\\n2. **反酸情况**：尽管反酸有时也可能见于胃食管反流病，但结合疼痛的时间特征，反酸可能与胃酸分泌增多有关，更加支持胃和十二指肠问题。\\n\\n3. **体格检查发现**：剑突下偏右的压痛位置支持十二指肠溃疡的诊断，因为十二指肠位于胃的远端，此处的压痛与该区域的病变一致。\\n\\n综上所述，这些症状和体格检查结果较好地与十二指肠溃疡相吻合。当然，最终的诊断还需要借助进一步的医学检查，如胃镜检查，以确认溃疡的存在及排除其他可能性。建议患者及时就医，以获取更准确的诊断和合适的治疗方案。'"
      ],
      "application/vnd.google.colaboratory.intrinsic+json": {
       "type": "string"
      }
     },
     "metadata": {},
     "execution_count": 32
    }
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "!pip install nltk rouge"
   ],
   "metadata": {
    "id": "gQBJzdg8MVov",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "c19e248b-2330-409c-f20a-6dd59c57eee8"
   },
   "execution_count": 33,
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Requirement already satisfied: nltk in /usr/local/lib/python3.11/dist-packages (3.9.1)\n",
      "Collecting rouge\n",
      "  Downloading rouge-1.0.1-py3-none-any.whl.metadata (4.1 kB)\n",
      "Requirement already satisfied: click in /usr/local/lib/python3.11/dist-packages (from nltk) (8.1.8)\n",
      "Requirement already satisfied: joblib in /usr/local/lib/python3.11/dist-packages (from nltk) (1.4.2)\n",
      "Requirement already satisfied: regex>=2021.8.3 in /usr/local/lib/python3.11/dist-packages (from nltk) (2024.11.6)\n",
      "Requirement already satisfied: tqdm in /usr/local/lib/python3.11/dist-packages (from nltk) (4.67.1)\n",
      "Requirement already satisfied: six in /usr/local/lib/python3.11/dist-packages (from rouge) (1.17.0)\n",
      "Downloading rouge-1.0.1-py3-none-any.whl (13 kB)\n",
      "Installing collected packages: rouge\n",
      "Successfully installed rouge-1.0.1\n"
     ]
    }
   ]
  },
  {
   "cell_type": "code",
   "source": [
    "from nltk.translate.bleu_score import sentence_bleu\n",
    "bleu_scores = []\n",
    "for pred, ref in zip(model_predictions[0:40], test_references[0:40]):\n",
    "    # 将参考答案和预测结果分词\n",
    "    ref_tokens = [ref.split()]\n",
    "    pred_tokens = pred.split()\n",
    "    # 计算 BLEU 分数\n",
    "    bleu_score = sentence_bleu(ref_tokens, pred_tokens,weights=(1,0,0,0))\n",
    "    bleu_scores.append(bleu_score)\n",
    "\n",
    "# 计算平均 BLEU 分数\n",
    "average_bleu = sum(bleu_scores) / len(bleu_scores)\n",
    "print(f\"Average BLEU Score: {average_bleu}\")\n"
   ],
   "metadata": {
    "id": "0AyjFp67MWEu",
    "colab": {
     "base_uri": "https://localhost:8080/"
    },
    "outputId": "37d4199e-6ba0-460b-8ccd-1e69be17d911"
   },
   "execution_count": 34,
   "outputs": [
    {
     "output_type": "stream",
     "name": "stdout",
     "text": [
      "Average BLEU Score: 0.08719091303827585\n"
     ]
    },
    {
     "output_type": "stream",
     "name": "stderr",
     "text": [
      "/usr/local/lib/python3.11/dist-packages/nltk/translate/bleu_score.py:577: UserWarning: \n",
      "The hypothesis contains 0 counts of 2-gram overlaps.\n",
      "Therefore the BLEU score evaluates to 0, independently of\n",
      "how many N-gram overlaps of lower order it contains.\n",
      "Consider using lower n-gram order or use SmoothingFunction()\n",
      "  warnings.warn(_msg)\n",
      "/usr/local/lib/python3.11/dist-packages/nltk/translate/bleu_score.py:577: UserWarning: \n",
      "The hypothesis contains 0 counts of 3-gram overlaps.\n",
      "Therefore the BLEU score evaluates to 0, independently of\n",
      "how many N-gram overlaps of lower order it contains.\n",
      "Consider using lower n-gram order or use SmoothingFunction()\n",
      "  warnings.warn(_msg)\n",
      "/usr/local/lib/python3.11/dist-packages/nltk/translate/bleu_score.py:577: UserWarning: \n",
      "The hypothesis contains 0 counts of 4-gram overlaps.\n",
      "Therefore the BLEU score evaluates to 0, independently of\n",
      "how many N-gram overlaps of lower order it contains.\n",
      "Consider using lower n-gram order or use SmoothingFunction()\n",
      "  warnings.warn(_msg)\n"
     ]
    }
   ]
  }
 ],
 "metadata": {
  "accelerator": "GPU",
  "colab": {
   "gpuType": "A100",
   "provenance": [],
   "machine_shape": "hm"
  },
  "kernelspec": {
   "display_name": "Python 3",
   "name": "python3"
  },
  "language_info": {
   "name": "python"
  },
  "widgets": {
   "application/vnd.jupyter.widget-state+json": {
    "182e09b4d366487d98915589ff6dee77": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_719da57ca04d4e63958febdeda6205ae",
       "IPY_MODEL_f415f76da98b4f79a4dcfff2e0e945e6",
       "IPY_MODEL_e7dff970dd8442809459ee000c9f8e7a"
      ],
      "layout": "IPY_MODEL_58bb03842f1c4c7eb77f7bd0c154d8ae"
     }
    },
    "719da57ca04d4e63958febdeda6205ae": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_d97be952e4874e118a1ac95b5f748c27",
      "placeholder": "​",
      "style": "IPY_MODEL_ea8c23103bed4cff9040356527785a17",
      "value": "model.safetensors: 100%"
     }
    },
    "f415f76da98b4f79a4dcfff2e0e945e6": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "danger",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_e181186f26f84135a2f2716edd5e907f",
      "max": 5964186418,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_dcc250c718a2414e9cad0ac0e7549ec2",
      "value": 5964185850
     }
    },
    "e7dff970dd8442809459ee000c9f8e7a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_821f32b148c14e39854dcf0cc1849432",
      "placeholder": "​",
      "style": "IPY_MODEL_22d1de21474e4e5abaf13a5fe4080c9e",
      "value": " 5.96G/5.96G [00:14&lt;00:00, 588MB/s]"
     }
    },
    "58bb03842f1c4c7eb77f7bd0c154d8ae": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "d97be952e4874e118a1ac95b5f748c27": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "ea8c23103bed4cff9040356527785a17": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "e181186f26f84135a2f2716edd5e907f": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "dcc250c718a2414e9cad0ac0e7549ec2": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "821f32b148c14e39854dcf0cc1849432": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "22d1de21474e4e5abaf13a5fe4080c9e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "1698edb09a24415e839479010bbc295e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_52f06c002cc34308bca7a53cc2fe7ba1",
       "IPY_MODEL_86b1b72547334465a9d135001148c18a",
       "IPY_MODEL_2c2c5d6347b14997b2c98dd4fdae271a"
      ],
      "layout": "IPY_MODEL_40327190098c4fb6ada7dd17838435ae"
     }
    },
    "52f06c002cc34308bca7a53cc2fe7ba1": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_9e462264744e4928ae78f491775a529e",
      "placeholder": "​",
      "style": "IPY_MODEL_e4ef27c61f3a45838067447a3c6a0d0d",
      "value": "generation_config.json: 100%"
     }
    },
    "86b1b72547334465a9d135001148c18a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_e3afdcece71746af8e598993b0bf6239",
      "max": 236,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_a555c75992044aff807785646c3cfc4b",
      "value": 236
     }
    },
    "2c2c5d6347b14997b2c98dd4fdae271a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_20f0486748a6453f942f0de345e4203c",
      "placeholder": "​",
      "style": "IPY_MODEL_6a8f042d557f4e84b84f2d190bb2cfd3",
      "value": " 236/236 [00:00&lt;00:00, 30.1kB/s]"
     }
    },
    "40327190098c4fb6ada7dd17838435ae": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "9e462264744e4928ae78f491775a529e": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "e4ef27c61f3a45838067447a3c6a0d0d": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "e3afdcece71746af8e598993b0bf6239": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "a555c75992044aff807785646c3cfc4b": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "20f0486748a6453f942f0de345e4203c": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "6a8f042d557f4e84b84f2d190bb2cfd3": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "0ef8293281d24244b6a53fa9bdfcaa91": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_d61293183f0343eaaef33b6bdc725499",
       "IPY_MODEL_4b8de5ac052c4894972045e1bb6ec32a",
       "IPY_MODEL_2481393836f14c7f82eacb8696c0fd16"
      ],
      "layout": "IPY_MODEL_40f09bc850c84ca39d5dd9ed6f5f043a"
     }
    },
    "d61293183f0343eaaef33b6bdc725499": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_73387cdaf3cb405bba2d529ca98e1a5b",
      "placeholder": "​",
      "style": "IPY_MODEL_2057066b44b944b08178f39825d9156c",
      "value": "tokenizer_config.json: 100%"
     }
    },
    "4b8de5ac052c4894972045e1bb6ec32a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_b5756d5a2bb448bf85e589ae0c2c2a05",
      "max": 52960,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_edaa5b7cba2c4f01bb4da02456148a59",
      "value": 52960
     }
    },
    "2481393836f14c7f82eacb8696c0fd16": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_9bdbb457f2f04a1fa55b99522c827be2",
      "placeholder": "​",
      "style": "IPY_MODEL_c77cdfa15f4d4befb657d1dfaa9484a3",
      "value": " 53.0k/53.0k [00:00&lt;00:00, 6.14MB/s]"
     }
    },
    "40f09bc850c84ca39d5dd9ed6f5f043a": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "73387cdaf3cb405bba2d529ca98e1a5b": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "2057066b44b944b08178f39825d9156c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "b5756d5a2bb448bf85e589ae0c2c2a05": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "edaa5b7cba2c4f01bb4da02456148a59": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "9bdbb457f2f04a1fa55b99522c827be2": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c77cdfa15f4d4befb657d1dfaa9484a3": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "9e91c16f56d348389120fb2c4716ccf8": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_96b668c84a6c486dab912f622dbe748a",
       "IPY_MODEL_9eac91cd9e3148dbaaae2d5e2b31a882",
       "IPY_MODEL_b46f91d1d49548ec9b10da5b67492c9f"
      ],
      "layout": "IPY_MODEL_f3a23d2659264ad99d3a3217a5cbc58d"
     }
    },
    "96b668c84a6c486dab912f622dbe748a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_6da09aa850b7487d86a968faaa53cff2",
      "placeholder": "​",
      "style": "IPY_MODEL_5b6d8919733b4bb180ed4363e1599e43",
      "value": "tokenizer.json: 100%"
     }
    },
    "9eac91cd9e3148dbaaae2d5e2b31a882": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_8b86d3f47bfe4bfe96a010394beac1b4",
      "max": 17209530,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_2fae033f8f4e465a891ef44e4af4a0be",
      "value": 17209530
     }
    },
    "b46f91d1d49548ec9b10da5b67492c9f": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_ed0fdd182aa144a7a2c491f09c6001a6",
      "placeholder": "​",
      "style": "IPY_MODEL_2a37ef3154994e8b8c86d23636baf2a6",
      "value": " 17.2M/17.2M [00:00&lt;00:00, 153MB/s]"
     }
    },
    "f3a23d2659264ad99d3a3217a5cbc58d": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "6da09aa850b7487d86a968faaa53cff2": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "5b6d8919733b4bb180ed4363e1599e43": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "8b86d3f47bfe4bfe96a010394beac1b4": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "2fae033f8f4e465a891ef44e4af4a0be": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "ed0fdd182aa144a7a2c491f09c6001a6": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "2a37ef3154994e8b8c86d23636baf2a6": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "fe9548fa01e74fd7b88fa114b446d290": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_f5ec3d4690e241a8a02218b69747c156",
       "IPY_MODEL_f05a4ac684ce492c8a4d9d923e085593",
       "IPY_MODEL_b15b969f8ba74c05b57f7372b7aa4aa2"
      ],
      "layout": "IPY_MODEL_926bf5ab03204a148164fe701e04d27b"
     }
    },
    "f5ec3d4690e241a8a02218b69747c156": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_bf31abadc7a14662a970d7e0fc266ebe",
      "placeholder": "​",
      "style": "IPY_MODEL_4456e54266684a2493c47859cc75ad6e",
      "value": "special_tokens_map.json: 100%"
     }
    },
    "f05a4ac684ce492c8a4d9d923e085593": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_9aa994beedd84e7487af96b39feadc4a",
      "max": 483,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_4baba36f2c214ee3950e4aa5758a6c94",
      "value": 483
     }
    },
    "b15b969f8ba74c05b57f7372b7aa4aa2": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_e9bfcfedf7124f6699e72d2f16f8fa11",
      "placeholder": "​",
      "style": "IPY_MODEL_bb1ee4ae2433430382d3f1fc4ce26406",
      "value": " 483/483 [00:00&lt;00:00, 59.5kB/s]"
     }
    },
    "926bf5ab03204a148164fe701e04d27b": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "bf31abadc7a14662a970d7e0fc266ebe": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "4456e54266684a2493c47859cc75ad6e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "9aa994beedd84e7487af96b39feadc4a": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "4baba36f2c214ee3950e4aa5758a6c94": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "e9bfcfedf7124f6699e72d2f16f8fa11": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "bb1ee4ae2433430382d3f1fc4ce26406": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "0d8b79d28b8e4e2782ccc27e9e511aa0": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_06e8e0bcacf643bd8cd914ee3b8dc982",
       "IPY_MODEL_513cc5d9f20148fd8c09c02522b5f40c",
       "IPY_MODEL_2a14e9af00734dffa3f29f84c09c6174"
      ],
      "layout": "IPY_MODEL_ea153784d6524a8c8c15e3d66b6a6a70"
     }
    },
    "06e8e0bcacf643bd8cd914ee3b8dc982": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_f5940041d754422e99b5f9980d026995",
      "placeholder": "​",
      "style": "IPY_MODEL_62fc93831dca4fd6ba1d44656d126621",
      "value": "README.md: 100%"
     }
    },
    "513cc5d9f20148fd8c09c02522b5f40c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_59ea584369da45c5b040aeeb2bc4d491",
      "max": 1651,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_c2c294d649064b52a9158d1205aa7143",
      "value": 1651
     }
    },
    "2a14e9af00734dffa3f29f84c09c6174": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_79d742376a624e7ea4b3bfb09fbd1949",
      "placeholder": "​",
      "style": "IPY_MODEL_72c1e3cc0a724a42ba27f116708d655d",
      "value": " 1.65k/1.65k [00:00&lt;00:00, 200kB/s]"
     }
    },
    "ea153784d6524a8c8c15e3d66b6a6a70": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "f5940041d754422e99b5f9980d026995": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "62fc93831dca4fd6ba1d44656d126621": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "59ea584369da45c5b040aeeb2bc4d491": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c2c294d649064b52a9158d1205aa7143": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "79d742376a624e7ea4b3bfb09fbd1949": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "72c1e3cc0a724a42ba27f116708d655d": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "43068c9cfd98432894f78033f49b36be": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_191c5e63f3d34ce0b87e8e9240f8b0c7",
       "IPY_MODEL_2dfab349092b459084bbe1a520902caf",
       "IPY_MODEL_2a5cc098bf094d1f84f5eced228ba263"
      ],
      "layout": "IPY_MODEL_c929f3ec16764786a59d9da0cc5d1933"
     }
    },
    "191c5e63f3d34ce0b87e8e9240f8b0c7": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_c335384e8803485c9e6e07aced5fe985",
      "placeholder": "​",
      "style": "IPY_MODEL_11c80be34ff741ec8df054430fac127e",
      "value": "medical_o1_sft_Chinese.json: 100%"
     }
    },
    "2dfab349092b459084bbe1a520902caf": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "danger",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_c6439b84d733428aa9032e3129714c3a",
      "max": 64814379,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_7043520e40054f8ba79fae730a42a23c",
      "value": 64814373
     }
    },
    "2a5cc098bf094d1f84f5eced228ba263": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_2317cb56967f46c4ac12cee48d50e188",
      "placeholder": "​",
      "style": "IPY_MODEL_e2a4ef8d150046ceb78b3a96f4fa687c",
      "value": " 64.8M/64.8M [00:00&lt;00:00, 74.6MB/s]"
     }
    },
    "c929f3ec16764786a59d9da0cc5d1933": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c335384e8803485c9e6e07aced5fe985": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "11c80be34ff741ec8df054430fac127e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "c6439b84d733428aa9032e3129714c3a": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "7043520e40054f8ba79fae730a42a23c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "2317cb56967f46c4ac12cee48d50e188": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "e2a4ef8d150046ceb78b3a96f4fa687c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "fed63549a70d4503bd729b13365ad119": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_ae2d2c8fb4c343598a73a14fe7889969",
       "IPY_MODEL_2706f650070148d3bf39196d8e9ba55a",
       "IPY_MODEL_958c1dabf3d0483fa28de5be0c33f9ff"
      ],
      "layout": "IPY_MODEL_2b548473ff8e49e99e90a21eb624cd04"
     }
    },
    "ae2d2c8fb4c343598a73a14fe7889969": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_ddf8570f3b9c4fb0ad1b1526d7604acf",
      "placeholder": "​",
      "style": "IPY_MODEL_9b6c6970923545068444c8ec69bc4056",
      "value": "Generating train split: 100%"
     }
    },
    "2706f650070148d3bf39196d8e9ba55a": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_f6cdd427d64a4fbeb3643eee594ea2bd",
      "max": 24772,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_86d114284aca43e59f68e8cb37b54400",
      "value": 24772
     }
    },
    "958c1dabf3d0483fa28de5be0c33f9ff": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_04946080e69847a1ab6215cf3805079d",
      "placeholder": "​",
      "style": "IPY_MODEL_64256ad9b1e44b528f66ae0034b93f74",
      "value": " 24772/24772 [00:01&lt;00:00, 21887.22 examples/s]"
     }
    },
    "2b548473ff8e49e99e90a21eb624cd04": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "ddf8570f3b9c4fb0ad1b1526d7604acf": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "9b6c6970923545068444c8ec69bc4056": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "f6cdd427d64a4fbeb3643eee594ea2bd": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "86d114284aca43e59f68e8cb37b54400": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "04946080e69847a1ab6215cf3805079d": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "64256ad9b1e44b528f66ae0034b93f74": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "e6f2609391434f4bb503a477bcae08e1": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HBoxModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HBoxModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HBoxView",
      "box_style": "",
      "children": [
       "IPY_MODEL_559c3459e7b840b88263af644052578e",
       "IPY_MODEL_06721830a2624d0ebbe2bce9c2525fbe",
       "IPY_MODEL_e8464d7224c9446d943c8c4c655dcaf5"
      ],
      "layout": "IPY_MODEL_dffdc1cfa71f4677b41f23d9f772c9b9"
     }
    },
    "559c3459e7b840b88263af644052578e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_64ca8bfa3f3640d9bc55b4f7f331bc25",
      "placeholder": "​",
      "style": "IPY_MODEL_b49cf65c07ce472e9a3c8cff1dff699e",
      "value": "Map: 100%"
     }
    },
    "06721830a2624d0ebbe2bce9c2525fbe": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "FloatProgressModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "FloatProgressModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "ProgressView",
      "bar_style": "success",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_20645685413e463ab932571139be1ce5",
      "max": 7432,
      "min": 0,
      "orientation": "horizontal",
      "style": "IPY_MODEL_d395d8b58d0d4aa2b44d1e5519562e6c",
      "value": 7432
     }
    },
    "e8464d7224c9446d943c8c4c655dcaf5": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "HTMLModel",
     "model_module_version": "1.5.0",
     "state": {
      "_dom_classes": [],
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "HTMLModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/controls",
      "_view_module_version": "1.5.0",
      "_view_name": "HTMLView",
      "description": "",
      "description_tooltip": null,
      "layout": "IPY_MODEL_b15178e0a2ed41d6a6eee7bf2f3f9bff",
      "placeholder": "​",
      "style": "IPY_MODEL_c5a162e03d504561932f14946a60c0ab",
      "value": " 7432/7432 [00:00&lt;00:00, 28858.73 examples/s]"
     }
    },
    "dffdc1cfa71f4677b41f23d9f772c9b9": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "64ca8bfa3f3640d9bc55b4f7f331bc25": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "b49cf65c07ce472e9a3c8cff1dff699e": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    },
    "20645685413e463ab932571139be1ce5": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "d395d8b58d0d4aa2b44d1e5519562e6c": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "ProgressStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "ProgressStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "bar_color": null,
      "description_width": ""
     }
    },
    "b15178e0a2ed41d6a6eee7bf2f3f9bff": {
     "model_module": "@jupyter-widgets/base",
     "model_name": "LayoutModel",
     "model_module_version": "1.2.0",
     "state": {
      "_model_module": "@jupyter-widgets/base",
      "_model_module_version": "1.2.0",
      "_model_name": "LayoutModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "LayoutView",
      "align_content": null,
      "align_items": null,
      "align_self": null,
      "border": null,
      "bottom": null,
      "display": null,
      "flex": null,
      "flex_flow": null,
      "grid_area": null,
      "grid_auto_columns": null,
      "grid_auto_flow": null,
      "grid_auto_rows": null,
      "grid_column": null,
      "grid_gap": null,
      "grid_row": null,
      "grid_template_areas": null,
      "grid_template_columns": null,
      "grid_template_rows": null,
      "height": null,
      "justify_content": null,
      "justify_items": null,
      "left": null,
      "margin": null,
      "max_height": null,
      "max_width": null,
      "min_height": null,
      "min_width": null,
      "object_fit": null,
      "object_position": null,
      "order": null,
      "overflow": null,
      "overflow_x": null,
      "overflow_y": null,
      "padding": null,
      "right": null,
      "top": null,
      "visibility": null,
      "width": null
     }
    },
    "c5a162e03d504561932f14946a60c0ab": {
     "model_module": "@jupyter-widgets/controls",
     "model_name": "DescriptionStyleModel",
     "model_module_version": "1.5.0",
     "state": {
      "_model_module": "@jupyter-widgets/controls",
      "_model_module_version": "1.5.0",
      "_model_name": "DescriptionStyleModel",
      "_view_count": null,
      "_view_module": "@jupyter-widgets/base",
      "_view_module_version": "1.2.0",
      "_view_name": "StyleView",
      "description_width": ""
     }
    }
   }
  }
 },
 "nbformat": 4,
 "nbformat_minor": 0
}
